import advView from '$v/adv'

import {
  isLoginRequest,
  logoutRequest
} from '../api/admin'

export default async (req, res, next) => {


  //读完一级路由 需要去读二级路由,所以要调用next方法
  // res有一个subRoute方法,调用该方法可以得到一个二级路由存放的标识,我们可以把这个标识传递给ejs,放在对应的位置即可
  next(advView({ //这一整个对象就是data,因为ejs在配置文件已经配置了
    url: req.url, // url: req.url //这里是想要点击哪个选项就让他变高亮,我们要获取路径,在req里面就有路径
    subRoute: res.subRoute()
  }));

  //路由切换的时候验证登录
  try {
    await isLoginRequest();
  } catch (e) {
    //请求异常后提示用户
    alert("有异常" + e.message)

    //判断是否是权限异常
    if (!e.isLogin) {
      return router.go("/login");
    }
  }

  const oLogout = document.getElementById('logout')
  oLogout.onclick = async function () {
    try {
      await logoutRequest();
      //退出成功 清掉token
      localStorage.removeItem("user_token");
      //跳转到登录页面
      router.go("/login")
    } catch (e) {
      alert("退出登录异常" + e.message)
    }
  }
}